gdk_display_set_double_click_time
gdk_display_set_double_click_distance
gdk_display_get_pointer
-gdk_display_get_device_state
gdk_display_list_devices
gdk_display_get_window_at_pointer
gdk_display_get_window_at_device_position
<SUBSECTION>
gdk_device_get_state
+gdk_device_get_position
gdk_device_get_history
gdk_device_free_history
GdkTimeCoord
gdk_device_get_name
gdk_device_get_n_axes
gdk_device_get_n_keys
+gdk_device_get_position
gdk_device_get_source
gdk_device_get_state
gdk_device_get_type G_GNUC_CONST
gdk_display_get_default_group
gdk_display_get_default_screen
gdk_display_get_device_manager
-gdk_display_get_device_state
gdk_display_get_event
gdk_display_get_maximal_cursor_size
gdk_display_get_name
GDK_DEVICE_GET_CLASS (device)->get_state (device, window, axes, mask);
}
+/**
+ * gdk_device_get_position:
+ * @device: pointer device to query status about.
+ * @screen: (out) (transfer none) (allow-none): location to store the #GdkScreen
+ * the @device is on, or %NULL.
+ * @x: (out) (allow-none): location to store root window X coordinate of @device, or %NULL.
+ * @y: (out) (allow-none): location to store root window Y coordinate of @device, or %NULL.
+ *
+ * Gets the current location of @device.
+ *
+ * Since: 3.0
+ **/
+void
+gdk_device_get_position (GdkDevice *device,
+ GdkScreen **screen,
+ gint *x,
+ gint *y)
+{
+ GdkScreen *tmp_screen;
+ GdkDisplay *display;
+ gint tmp_x, tmp_y;
+ GdkModifierType tmp_mask;
+
+ g_return_if_fail (GDK_IS_DEVICE (device));
+ g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD);
+
+ display = gdk_device_get_display (device);
+ display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask);
+
+ if (screen)
+ *screen = tmp_screen;
+ if (x)
+ *x = tmp_x;
+ if (y)
+ *y = tmp_y;
+}
+
/**
* gdk_device_get_history:
* @device: a #GdkDevice
GdkWindow *window,
gdouble *axes,
GdkModifierType *mask);
+void gdk_device_get_position (GdkDevice *device,
+ GdkScreen **screen,
+ gint *x,
+ gint *y);
gboolean gdk_device_get_history (GdkDevice *device,
GdkWindow *window,
guint32 start,
}
}
-/**
- * gdk_display_get_device_state:
- * @display: a #GdkDisplay.
- * @device: pointer device to query status about.
- * @screen: (out) (transfer none) (allow-none): location to store the #GdkScreen
- * the @device is on, or %NULL.
- * @x: (out) (allow-none): location to store root window X coordinate of @device, or %NULL.
- * @y: (out) (allow-none): location to store root window Y coordinate of @device, or %NULL.
- * @mask: (out) (allow-none): location to store current modifier mask for @device, or %NULL.
- *
- * Gets the current location and state of @device for a given display.
- *
- * Since: 3.0
- **/
-void
-gdk_display_get_device_state (GdkDisplay *display,
- GdkDevice *device,
- GdkScreen **screen,
- gint *x,
- gint *y,
- GdkModifierType *mask)
-{
- GdkScreen *tmp_screen;
- gint tmp_x, tmp_y;
- GdkModifierType tmp_mask;
-
- g_return_if_fail (GDK_IS_DISPLAY (display));
- g_return_if_fail (GDK_IS_DEVICE (device));
- g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD);
-
- display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask);
-
- if (screen)
- *screen = tmp_screen;
- if (x)
- *x = tmp_x;
- if (y)
- *y = tmp_y;
- if (mask)
- *mask = tmp_mask;
-}
-
/**
* gdk_display_get_window_at_device_position:
* @display: a #GdkDisplay.
*
* Since: 2.2
*
- * Deprecated: 3.0: Use gdk_display_get_device_state() instead.
+ * Deprecated: 3.0: Use gdk_device_get_position() instead.
**/
void
gdk_display_get_pointer (GdkDisplay *display,
gint *y,
GdkModifierType *mask)
{
+ GdkScreen *tmp_screen;
+ gint tmp_x, tmp_y;
+ GdkModifierType tmp_mask;
+
g_return_if_fail (GDK_IS_DISPLAY (display));
- gdk_display_get_device_state (display, display->core_pointer, screen, x, y, mask);
+ /* We call get_device_state here manually instead of gdk_device_get_position()
+ * because we also care about the modifier mask */
+
+ display->device_hooks->get_device_state (display,
+ display->core_pointer,
+ &tmp_screen, &tmp_x, &tmp_y, &tmp_mask);
+ if (screen)
+ *screen = tmp_screen;
+ if (x)
+ *x = tmp_x;
+ if (y)
+ *y = tmp_y;
+ if (mask)
+ *mask = tmp_mask;
}
static GdkWindow *
#endif /* GDK_DISABLE_DEPRECATED */
#endif /* GDK_MULTIDEVICE_SAFE */
-void gdk_display_get_device_state (GdkDisplay *display,
- GdkDevice *device,
- GdkScreen **screen,
- gint *x,
- gint *y,
- GdkModifierType *mask);
GdkWindow * gdk_display_get_window_at_device_position (GdkDisplay *display,
GdkDevice *device,
gint *win_x,
GdkEventKey *event,
gpointer data)
{
- GdkDisplay *display = gtk_widget_get_display (invisible);
GdkScreen *screen = gdk_event_get_screen ((GdkEvent *) event);
GdkDevice *device, *pointer_device;
guint state = event->state & gtk_accelerator_get_default_mod_mask ();
device = gdk_event_get_device ((GdkEvent * ) event);
pointer_device = gdk_device_get_associated_device (device);
- gdk_display_get_device_state (display, pointer_device, NULL, &x, &y, NULL);
+ gdk_device_get_position (pointer_device, NULL, &x, &y);
dx = 0;
dy = 0;
}
else
{
- gdk_display_get_device_state (gtk_widget_get_display (widget), pointer,
- &info->cur_screen, &info->cur_x, &info->cur_y, NULL);
+ gdk_device_get_position (pointer, &info->cur_screen, &info->cur_x, &info->cur_y);
}
g_signal_emit_by_name (widget, "drag-begin", info->context);
if (event->is_hint)
{
- GdkDisplay *display = gtk_widget_get_display (widget);
-
- gdk_display_get_device_state (display, event->device,
- &screen, &x_root, &y_root, NULL);
+ gdk_device_get_position (event->device, &screen, &x_root, &y_root);
event->x_root = x_root;
event->y_root = y_root;
}
new_x = 0;
new_y = 0;
screen = gtk_widget_get_screen (widget);
- gdk_display_get_device_state (gdk_screen_get_display (screen),
- event->device,
- &pointer_screen,
- &new_x, &new_y, NULL);
+ gdk_device_get_position (event->device,
+ &pointer_screen,
+ &new_x, &new_y);
if (pointer_screen != screen)
{
new_x = priv->orig_x;
screen = gtk_widget_get_screen (widget);
pointer = _gtk_menu_shell_get_grab_device (GTK_MENU_SHELL (menu));
- gdk_display_get_device_state (gdk_screen_get_display (screen),
- pointer, &pointer_screen, &x, &y, NULL);
+ gdk_device_get_position (pointer, &pointer_screen, &x, &y);
/* Get the minimum height for minimum width to figure out
* the right place to popup the menu.
gint x, y;
display = gtk_widget_get_display (widget);
- gdk_display_get_device_state (gtk_widget_get_display (widget),
- gdk_drag_context_get_device (context),
- NULL, &x, &y, NULL);
+ gdk_device_get_position (gdk_drag_context_get_device (context),
+ NULL, &x, &y);
g_signal_emit (notebook, notebook_signals[CREATE_WINDOW], 0,
priv->detached_tab->child, x, y, &dest_notebook);
device_manager = gdk_display_get_device_manager (display);
pointer = gdk_device_manager_get_client_pointer (device_manager);
- gdk_display_get_device_state (display, pointer,
- &pointer_screen,
- &px, &py, NULL);
+ gdk_device_get_position (pointer,
+ &pointer_screen,
+ &px, &py);
if (pointer_screen == window_screen)
monitor_num = gdk_screen_get_monitor_at_point (pointer_screen, px, py);
device_manager = gdk_display_get_device_manager (display);
pointer = gdk_device_manager_get_client_pointer (device_manager);
- gdk_display_get_device_state (display, pointer,
- &pointer_screen,
- &px, &py, NULL);
+ gdk_device_get_position (pointer,
+ &pointer_screen,
+ &px, &py);
if (pointer_screen == screen)
monitor_num = gdk_screen_get_monitor_at_point (screen, px, py);